Het bouwen van een integratie op basis van de ShopServer is niet erg moelijk, maar er zijn een aantal zaken waar rekening mee gehouden moet worden. Ook is het goed om te begrijpen met welke visie de integratie mogelijkheden ontwikkeld zijn.
Alle methods in de ShopServer zijn gebouwd op basis van het request en response model. Dit houdt in dat elke method van een 'Request' object voorzien is, terwijl elke method als antwoord een 'Response' object teruggeeft. In het Request object zullen zich de verschillende parameters bevinden om de juiste data op te vragen. In het Response object bevindt zich de data in de vorm van een enkel object, of zelfs een array van resultaten.
Om een request op te bouwen moet eerst een 'New' method worden aangeroepen. Deze geeft een 'leeg' request object terug, voorzien van de juiste defaults voor de verschillende properties. Een voorbeeld is de NewArticleFilter() method. Deze geeft een NewArticleFilterResponse object terug waarin zich een ArticlesFilter object bevindt. De waarde van het ArticleFilter kan vervolgens gebruikt worden om de method GetArticles() aan te roepen.
- Sommige objecten kunnen veel data bevatten, zoals bijvoorbeeld Articles, Barcodes, ArticleImages en zo nog verschillende andere. Zodra een Request object van het type ExternalBaseFilterWithOffset is, dan heeft deze een Offset en een MaxRecords property. Gebruik deze property om de mutaties in blokken op te vragen.
Het advies om te werken met een offset waarde van minimaal 25.000 gegevens. Vraag vervolgens in een loop net zo lang data op en verhoog de offset telkens met 25.000 gegevens, totdat er minder als 25.000 gegevens teruggegeven worden. Dan zijn immers alle mutaties ontvangen en is het object volledig gesynchroniseerd.
De enige uitzondering op de offset van minimaal 25.000 gegevens zijn afbeeldingen. Het advies voor afbeeldingen is om te werken met een offset van 50. De reden hiervoor is dat afbeeldingen erg groot kunnen zijn waardoor de totale lengte van de data response te groot wordt voor HTTP requests.
De ShopServer is in principe 24/7 beschikbaar, maar kan op bepaalde momenten kortstondig offline zijn voor updates en onderhoud. Hou er rekening mee dat als een synchronisatie sequence niet volledig correct doorlopen wordt (bijvoorbeeld omdat er halverwege een storing optreedt, ShopServer onderhoud start etc) dan de synchronisatie dan geen 'Commit' uitvoert en dat deze de volgende keer dus opnieuw zal beginnen vanaf het tijdstip van de laatste succesvolle synchronisatie.